package com.um.springboot.starter.task;

import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

/**
 * @author 甘天伟
 * @since 2024/7/4
 * 版权所有 广州优匠科技有限公司
 */
@Component
public class SpringAsyncRunner {

    /**
     * 用默认线程池异步执行任务
     *
     * @param task 任务
     */
    @Async
    public void run(Runnable task) {
        task.run();
    }

    /**
     * 用次要线程池异步执行任务
     *
     * @param task 任务
     */
    @Async(TaskExecutionConfiguration.SECONDARY_TASK_EXECUTOR_BEAN_NAME)
    public void runBySecondary(Runnable task) {
        task.run();
    }

}
